This invention relates generally to Local Area Network (LAN) systems, and more particularly to a system in which two or more separate LANs may be connected or "bridged" so that traffic between LANs is restricted to those destinations which are in the remote LAN. This results in more efficient use of the processor control in the bridge device and faster throughput of messages from one LAN to another.
The computer industry has recently seen the widespread growth of LAN systems. A LAN is, broadly, a computer communications system which is shared by users in a limited (hence the terminology local) locale to share information and resources. A wide area network (WAN) is, by comparison, a computer communications system in which the users are dispersed over an unlimited geographical area (hence the terminology wide). LANs and WANs come in many varieties and types. A good description of LAN types and their respective functioning is given in Understanding Local Area Networks, by S. Schatt, published by Howard W. Sams & Co., 1989. WANs may take the form of a large single interconnected system or be composed of a plurality of LANs connected together so as to form a WAN. It is to the latter of these systems to which the invention of the present invention pertains.
The present invention relates to WANs composed of a number of interconnected LANs. These LANs may already have been in existence and the user may have a need to connect them in some fashion because, for example, the company has opened a new office with its own LAN system to which the home office must communicate. The company has the choice of developing a new WAN system so that both offices may be connected or may utilize the existing separate LANs and provide some means to allow the two systems to communicate. Also, the company may have a preference for a particular type or brand of LAN and a wish to remain with that system. Additionally, the needs of a particular user will depend on the functionality demanded. For example, a user may merely have a need to transfer batch information from on LAN to another on an occasional basis. On the other hand, the user may have a need to have a continual transfer of information between the LANs and the need to have this transfer take place seamlessly. It is to the latter functionality that the device of the present invention pertains. Each of the LANs usually contains a plurality of stations or nodes, which can both receive and transmit information to other stations and nodes.
Two of the more popular LAN systems commercially available today are the Ethernet and Token Ring LAN systems. These LANs are described and specified, respectively, by IEEE Recommendations 802.3 and 802.5. They differ from one another both as to the physical structure and as to the structure of their information packets. A thorough description of the respective systems is contained in the publication Understanding Local Area Networks referred to above. In particular, the structure of the packets presents different problems when attempting to interface two LANs utilizing either of these types. However, in both types of LANs and in LANs other than those of the Ethernet or Token Ring type, the structure of the information packets has both a source identification (Source ID) and a destination identification (Destination ID), so that the sender node and receiver node can communicate and so that the receiver node can acknowledge to the sender node whether or not the message has been received. The present invention, although not restricted in any way to the interfacing of two LANs (both of which are either of the Ethernet or Token Ring type), allows the efficient flow of messages from one LAN to another, as will be hereinafter described.
A fundamental problem encountered by the interfacing of two LANs, either locally or remotely, is that when a station or node on one of the LANs (with a certain Source ID or address) wants to send a message to another node (with a certain Destination ID or address), the source node may not know whether the destination node is located on its own LAN or on the other LAN. Thus, in certain circumstances, the bridging circuitry may automatically send all information packets to the remote LAN, even if the destination node is not on the other LAN. This takes up valuable processor time in the processor contained in the bridging circuitry. As a result, the throughput from one LAN to the other over the link between the two LANs may decrease, leading to inefficiency in the system.
Other than simply ignoring the fact that it may not be known whether the destination node is on one LAN or another, it is possible to provide a method by way of a software solution under which not all packets are sent to the remote LAN. Under this solution, all destination ID comparisons are accomplished in software, but only after the complete packet is received. An address table is built into the software of the bridge system to learn the source addresses. Unfortunately, due to the nature of the low level Token Ring protocol, the Address Recognized/Frame Copied indicator bits, which appear at the end of the packet after the Ending Delimiter, must be set in real time. A description of the foregoing structure is given in Token Ring Access Method and Physical Layer Specifications, published by the IEEE, 1985, pages 27 39, as well as in the Understanding Local Area Networks publication referred to above, especially at pages 46-47 and 79-106. The node must know that the packet was addressed to the node and that there is a buffer available. This is easily accomplished by the Token Ring Controller IC in a single address environment (such as a workstation or server), but in a transparent bridge environment, where every packet must be looked at, this can only be accomplished in hardware. It can be ignored by the transparent bridge designer because the low level protocol is ignored by some workstation/server software developers, but there are those packages that do not ignore the protocol and will indicate fault on the network if the bits are not set properly.
It is therefore a principal object of the present invention to provide an apparatus and method for learning and filtering destination and source addresses in a local area network system.
It is another object of the present invention to improve throughput for communications from one LAN to another LAN over the device which embodies the present invention by using the processor only for information packets which will be forwarded to the remote LAN.
It is yet another object of this invention to facilitate communication between two LANs of the same type remotely located regardless of whether the LANs are of the Ethernet or the Token Ring variety.